package com.saydc.utils;

import java.text.SimpleDateFormat;
import java.util.List;

import com.saydc.dao.EmpleadosDAO;
import com.saydc.model.Empleado;
import com.saydc.model.PuestoTrabajado;

public class AjaxUtis {
	
	public static String getListaEmpleadosString(){
		StringBuffer resultado= new StringBuffer("");
		Empleado empleado;
		EmpleadosDAO dao = EmpleadosDAO.getInstance();
		List<Empleado> listaEmpleados = dao.getAllEmpleados();
        for (int i = 0; i < listaEmpleados.size(); i++) {
        	empleado = (Empleado) listaEmpleados.get(i);
        	resultado.append(empleado.getNombre().trim()+";");
		}
        return resultado.toString();
	}

	public static String getRemuneracionesPorPromocionEmpleado(int idEmpleado) {
		StringBuffer resultado= new StringBuffer("");
		
		SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
		
		EmpleadosDAO dao = EmpleadosDAO.getInstance();
		Empleado empleado = dao.getEmpleado(idEmpleado);
		List<PuestoTrabajado> listaTrabajados = empleado.getPuestosTrabajadosOrderByFecha();
		
		PuestoTrabajado ptAnt = null;
		PuestoTrabajado pt = null;
		double valRem = 0d;
		String fecha = "";

		for(int i=0; i<listaTrabajados.size(); i++){
			
			if(i!=0){ ptAnt = pt; }
			pt = listaTrabajados.get(i);
			
			valRem = Double.valueOf(pt.getRemuneracion()/1000);
			if(i==0){ 
				fecha = sdf.format(empleado.getFechaIngreso()); 
			}
			else{ 
				fecha = sdf.format(ptAnt.getFechaFin()); 
			}
			resultado.append(valRem+";"+fecha+";");
			
		}
		
		if(listaTrabajados.size() != 0){
			resultado.append(Double.valueOf(empleado.getRemuneracion()/1000)+";"+sdf.format(listaTrabajados.get(listaTrabajados.size()-1).getFechaFin()));
		}else{
			resultado.append(Double.valueOf(empleado.getRemuneracion()/1000)+";"+sdf.format(empleado.getFechaIngreso()));
		}
		
		return resultado.toString();
	}

}
